<?php namespace Admin\Controller;
//文章控制器
class ArcController extends CommonController{
	private $model;
	public function __auto(){
		$this->model=new \Common\Model\Arc;
	}
	//显示文章
	public function index(){
		//1.分页
		$page=Page::row(2)->make($this->model->where("is_recycle=0")->count());
		View::with('page',$page);
		//2.调用数据
		$data=$this->model
				   ->join('category ','category_cid','=','cid')
				   ->where("is_recycle=0")
				   ->orderBy('sendTime','DESC')
				   //分页
				   ->limit(Page::limit())
				   ->get();
		if(!$data){
			View::error('当前没有文章，请先去添加文章',U('add'));
		}
		View::with('data',$data);
	    View::make();
	}
	//添加文章
	public function add(){
		if(IS_POST){
			if($this->model->store()){
				//添加成功，返回显示文章
				View::success("添加成功",U('index'));
			}
			//添加失败，返回错误
			View::error($this->model->getError());
		}
		//1、处理所属分类
		//实例化分类模型
		$cateModel= new \Common\Model\Cate;
		//查找分类数据
		$cateData=Data::tree($cateModel->get(),'cname');
		//分配分类数据
		View::with('cateData',$cateData);
		//2、处理标签
		//实例化标签模型
		$tagModel=new \Common\Model\Tag;
		//获取标签数据
		$tagData=$tagModel->get();
		//分配标签数据
		View::with('tagData',$tagData);
	    View::make();
	}
	//编辑
	public function edit(){
		//3.修改
		if(IS_POST){
			if(!$this->model->edit()) View::error($this->model->getError());
			View::success('修改成功',U('index'));
		}
		//2.获取旧数据
		$aid=Q('get.aid',0,'intval');
		$oldData=$this->model
		        ->join('article_data','aid','=','article_aid')
				->where("aid={$aid}")
				->first();
		View::with('oldData',$oldData);
		
		//1.处理标签和分类
		//标签
		$tagModel=new \Common\Model\Tag;
		View::with('tagData',$tagModel->get());
		//分类
		$cateModel=new \Common\Model\Cate;
		View::with('cateData',Data::tree($cateModel->get(),'cname'));
		//当前文章的标签
		$arcTagModel=new \Common\Model\ArcTag;
		//只获取article_aid={$aid}中的tag_aid值
		$tids = $arcTagModel->where("article_aid={$aid}")->lists('tag_tid');
		//如果用户没有选择标签，那么标签的默认值为NULL，in_array判断就会有问题，所以给默认值为空数组
		$tids = $tids ? $tids:array();
		View::with('tids',$tids);
		View::make();
	}
	//回收站
	public function recycle(){
		$data=$this->model->join('category ','category_cid','=','cid')->where("is_recycle=1")->get();
		View::with('data',$data);
	    View::make();
	}
	//删除到回收站
	public function reDel(){
		$aid=Q('get.aid',0,'intval');
		$this->model->where("aid={$aid}")->update(['is_recycle'=>1]);
		View::success('删除成功');
	}
	//彻底删除
	public function del(){
		$aid=Q('get.aid',0,'intval');
		$img=$this->model->where("aid={$aid}")->lists('thumb');
		//删除文章下的图片
		unlink($img[0]);
		$path=str_replace("_thumb",'',$img);
		unlink($path[0]);
		//删除文章表
		$this->model->where("aid={$aid}")->delete();
		//删除文章数据表
		$arcDataModel=new \Common\Model\ArcData;
		$arcDataModel->create();
		$arcDataModel->where("article_aid={$aid}")->delete();
		//删除文章——标签中间表
		$arcTagModel=new \Common\Model\ArcTag;
		$arcTagModel->create();
		$arcTagModel->where("article_aid={$aid}")->delete();
		View::success('删除成功');
	}
	//还原
	public function restore(){
		$aid=Q('get.aid',0,'intval');
		$this->model->where("aid={$aid}")->update(['is_recycle'=>0]);
		View::success('文章已还原',U('index'));
	}
}
 ?>